:- module(WebDB_doc,
        [main/0], [assertions]). 

:- use_module(library(types_comp)).
:- use_module(library(basicprops)).

%% ---------------------------------------------------------------------------
%% Intro
%% ---------------------------------------------------------------------------

:- comment(title,"WebDB: A Generic, Reconfigurable Database System with HTML Interface").

:- comment(subtitle,"An Application of Persistent Predicates, Pillow and Active Modules").
:- comment(subtitle,"@bf{The CIAO System Documentation Series}").
:- comment(subtitle,"Technical Report CLIP 5/97.1").
:- comment(subtitle,"@em{Draft printed on:} @today{}").

:- comment(author, "J.M. Gomez, D. Cabeza and M. Hermenegildo").
:- comment(author, "@tt{clip@@dia.fi.upm.es}").
:- comment(author, "@tt{http://www.clip.dia.fi.upm.es/}").
:- comment(author, "The CLIP Group").
:- comment(author, "Facultad de Inform@'{a}tica").
:- comment(author, "Universidad Polit@'{e}cnica de Madrid").

:- comment(copyright,"
Copyright @copyright{} 1997-98 The Clip Group.

@include{/home/clip/Systems/ciao/doc/Copyright.Manuals}
").

:- comment(summary,"@apl{WebDB} provides a way to create and customize a 
@concept{Relational Database} and its @concept{interface}. 
@apl{WebDB} provides a simple interface based on HTML forms which allows the user 
to access the tuples of any table in a database. This tables can be local to WebDB 
itself or can be located at remote SQL databases. In the first case, the tables 
are designed according to the definition of filebased persistent predicates, using 
the library @lib{persdb} and are mantained directly by WebDB, enhancing the system 
administrator to create, destroy or edit the tables. In the second one, WebDB just 
provides a transparent interface to the remote SQL databases which they belong to, 
using the library @lib{persdb_sql}. 

The interface to access a table is created automatically when accesing it. This is 
achieved by defining each table field according to an @concept{html_format} type, 
which is translated by a template into the right HTML input type for the given field, 
for example, a checkbox, an input box or a textarea. The system administrar can add 
new types and define tables according to them.

@apl{WebDB}'s @concept{settings} are reconfigurable. Therefore, the system 
administrator can customize the HTML decoration and the system messages on line, 
without needing to stop the system, through the interface provided by the application 
itself.

:- comment(module,"@include{Intro.WebDB}").

main.
